home *** CD-ROM | disk | FTP | other *** search
/ Aminet 50 / Aminet 50 (2002)(GTI - Schatztruhe)[!][Aug 2002].iso / Aminet / dev / basic / XvsDevBas.lha / ShowVirusList.bas < prev    next >
BASIC Source File  |  2002-06-04  |  2KB  |  99 lines

  1. ' *********************************************************************
  2. '                   ShowVirusList.bas 1.0 (2.6.02)
  3. '                 Dámaso D. Estévez <ast_dde@yahoo.es>
  4. '                        All Rights Reserved
  5. '
  6. '              AmiSpaTra - http://www.arrakis.es/~amidde/
  7. '
  8. '          Little demo for to see how to use the XVS library
  9. '          Pequeña demostración del uso de la biblioteca XVS
  10. ' *********************************************************************
  11.  
  12. REM $NOWINDOW
  13. REM $NOLIBRARY
  14.  
  15. REM $include xvs.bh
  16. REM $include exec.bc
  17.  
  18. '      Subroutine for to print an entry (node name -> virus name)
  19. '
  20. '                  Subrutina para imprimir una entrada
  21. '                 (nombre del nodo -> nombre del virus)
  22. ' ---------------------------------------------------------------------
  23.  
  24. FUNCTION PrtVir&(vlist&,type$)
  25. LOCAL ptr&
  26.  
  27.     IF vlist& <> NULL& THEN
  28.  
  29.         PRINT PEEKW(vlist&+xvsvl_Count%);" ";type$;" virus recognized...";CHR$(10)
  30.  
  31.         ptr& = vlist&+lh_Head%
  32.     
  33.         WHILE PEEKL(ptr&) <> NULL&
  34.             PRINT PEEK$(PEEKL(PEEKL(ptr&)+ln_Name%))
  35.             ptr& = PEEKL(ptr&)+ln_Succ%
  36.         WEND
  37.  
  38.         xvsFreeVirusList(vlist&)
  39.  
  40.         PrtVir& = NULL&
  41.  
  42.     END IF
  43.  
  44. END FUNCTION
  45.  
  46. '                        Main code / Código principal
  47. ' ---------------------------------------------------------------------
  48.  
  49. LIBRARY OPEN "xvs.library",XVS_VERSION&
  50.  
  51. PRINT
  52. PRINT "Little XVS demo #2 :)"
  53. PRINT
  54.  
  55. infected& = xvsSelfTest&()
  56.  
  57. IF infected& = NULL&
  58.  
  59.     PRINT "DANGER !!!"
  60.     PRINT "The XVS library was modified/manipulated..."
  61.     PRINT "the checking/removing virus isn´t reliable !!!"
  62.     PRINT
  63.     PRINT "¡¡¡ PELIGRO !!!"
  64.     PRINT "¡¡¡ La biblioteca XVS ha sido modificada/manipulada..."
  65.     PRINT "la verificación/eliminación de virus no es fiable !!!"
  66.  
  67. ELSE
  68.  
  69.     ' For to release the xvsVirusList struct
  70.     '   if the user breaks this program ;)
  71.     '
  72.     ' Para liberar la estructura xvsVirusList
  73.     ' si elusuario interrumpe el programa ;)
  74.     ' ---------------------------------------
  75.     ON BREAK GOTO BrkRoutine
  76.  
  77.     vlist& = NULL&
  78.  
  79.     vlist& = xvsCreateVirusList(XVSLIST_BOOTVIRUSES&)
  80.     vlist& = PrtVir&(vlist&,"boot")
  81.     
  82.     vlist& = xvsCreateVirusList(XVSLIST_FILEVIRUSES&)
  83.     vlist& = PrtVir&(vlist&,"file")
  84.  
  85.     vlist& = xvsCreateVirusList(XVSLIST_LINKVIRUSES&)
  86.     vlist& = PrtVir&(vlist&,"link")
  87.         
  88.     vlist& = xvsCreateVirusList(XVSLIST_DATAVIRUSES&)
  89.     vlist& = PrtVir&(vlist&,"data")
  90.     
  91.     BrkRoutine:
  92.     IF vlist& <> NULL& THEN xvsFreeVirusList(vlist&)
  93.  
  94. END IF
  95.  
  96. LIBRARY CLOSE "xvs.library"
  97.  
  98. END
  99.